### Lab3-1 ### # 在樹莓派官方網頁,下載作業系統的燒錄程式 https://www.raspberrypi.com/software/ ### Lab3-2 ### # 加入下面四行 (第一行為註解) 到樹莓派的 /boot/config.txt # Enable TTL dtoverlay=pi3-miniuart-bt core_freq=250 enable_uart=1 ### Lab3-3 ### # PL2303 driver for Windows (https://24h.pchome.com.tw/prod/DSAJ2B-A9009BJ6X) http://avrtx.cn/download/USB%20driver/PL2303/pl2303_332102_64.zip ### Lab3-4 ### # 下載 putty https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html ### Lab3-5 ### ~$ nano myfile.txt ### Lab3-6 ### ~$ mkdir ch3 # 建立目錄 ~$ rm -rf ch3 # 刪除目錄 ~$ rm myfile.txt # 刪除檔案 ~$ mkdir ch3 # 建立目錄 ~$ cd ch3 # 變更目錄到指定位置 ~$ cd ~ # 回到家目錄 ### Lab3-7 ### ~$ ifconfig wlan0 # 檢查第一張無線網卡的設定 ~$ ifconfig # 檢查所有網卡的設定 ### Lab3-8 ### ~$ sudo raspi-config ### Lab3-9 ### # 手動設定無線網卡 ~$ sudo nano /etc/wpa_supplicant/wpa_supplicant.conf ### Lab3-10 ### # 下載 VNC Viewer https://www.realvnc.com/en/connect/download/viewer/ ### Lab3-11 ### # 調整解析度分辨率 ~$ sudo nano /boot/config.txt ### Lab3-12 ### # 檢查相機狀態指令 ~$ vcgencmd get_camera ### Lab3-13 ### # WinSCP 下載 https://winscp.net/eng/download.php ### Lab3-14 ### # Xming 下載 https://sourceforge.net/projects/xming/ ### Lab3-15 ### # 遠端開啟照片檔 ~& wget https://fchart.github.io/img/koala.png ~$ gpicview koala.png & ### Lab3-16 ### # 修改 X11Forwarding no --> yes ~$ sudo nano /etc/ssh/sshd_config ### Lab3-17 ### ~$ uname -m # 查詢 CPU 的版本: ~$ file /bin/bash # 查詢 OS 的版本 ~$ python -V # 顯示目前的 Python 版本 ~$ python # 進入 Python 的互動模式 >>> exit() # 離開互動模式 ### Lab3-18 ### ~$ mkdir ~/ch3 && cd ~/ch3 # 在家目錄下建立 ch3 資料夾,並進入該資料夾 ~/ch3$ nano 3-1.py # 新增一個 Python 的程式檔 ### Lab3-20 (3-1.py) ### # 暫停 5 秒後,印出 Hello World! from time import sleep sleep(5) print('Hello World!') ### Lab3-21 ### ~/ch3$ python 3-1.py # 用 python 執行程式檔 ### Lab3-22 ### ~$ sudo apt-get update # 更新軟體資料庫 ~$ sudo apt-get upgrade # 更新已安裝的軟體 ~$ sudo apt-get install mousepad # 安裝 mousepad ~$ mousepad & # 執行 mousepad ### Lab3-23 ### ~$ sudo apt-get install thonny # 安裝 thonny ~$ thonny & # 執行 thonny ### Lab3-24 ### # 安裝 virtualenv 和 virtualenvwrapper 套件 ~$ sudo pip install virtualenv ~$ sudo pip install virtualenvwrapper # 使用 pip 執行檢查目前安裝的模組,檢查是否有安裝 virtualenv 和 virtualenvwrapper ~$ pip list ### Lab3-25 ### # 編輯 .bashrc 檔,新增路徑設定,以便可以執行 virtualenvwrapper ~$ sudo nano ~/.bashrc # 加入下列三行到 .bashrc export WORKON_HOME=$HOME/.virtualenvs export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3 source /usr/local/bin/virtualenvwrapper.sh # 重新載入更新的路徑設定 ~$ source ~/.bashrc ### Lab3-26 ### # 新增名為 opencv 的 Python 虛擬環境 ~$ mkvirtualenv opencv -p python3 # 關閉目前虛擬環境 ~$ deactivate # 顯示已建立的虛擬環境 ~$ lsvirtualenv # 啟動虛擬環境 ~$ workon opencv # 移除虛擬環境 ~$ rmvirtualenv opencv # 複製虛擬環境 ~$ cpvirtualenv opencv opencv_new ### Lab3-27 ### # 步驟一:更新與升級已安裝的套件 ~$ sudo apt-get update # 軟體資料庫同步,升級前都先做 ~$ sudo apt-get upgrade # 升級已安裝的軟體 ### Lab3-28 ### # 步驟二:安裝 OpenCV 的相關支援套件 # 安裝 HDF (Hierarchical Data Format version 5) 資料集的套件 ~$ sudo apt-get install -y libhdf5-dev # 安裝矩陣運算和 JPEG-2000 圖片函式庫 ~$ sudo apt-get install -y libatlas-base-dev ~$ sudo apt-get install -y libopenjp2-7-dev # 安裝 QT GUI 圖形介面的套件 ~$ sudo apt-get install -y libqt5gui5 ~$ sudo apt-get install -y libqt5test5 ~$ sudo apt-get install -y python3-pyqt5 ### Lab3-29 ### # 步驟三:新增名為 opencv 的 Python 3 虛擬環境 ~$ mkvirtualenv opencv -p python3 # 檢查目前安裝的 Python 模組 (opencv) ~$ pip list ### Lab3-30 ### # 步驟四:在虛擬環境安裝支援的 Python 套件 (opencv) ~$ pip install numpy==1.21.1 (opencv) ~$ pip install matplotlib (opencv) ~$ pip install imutils ### Lab3-31 ### # 步驟五:在 Python 的虛擬環境中,安裝 OpenCV (opencv) ~$ pip install opencv-python==4.5.1.48 (opencv) ~$ pip install opencv-contrib-python==4.5.1.48 # 輸入指令來檢視虛擬環境安裝的套件清單: (opencv) ~$ pip list ### Lab3-32 (若網路不穩,可以下載老師已經下載的 package) ### (opencv) ~$ wget http://max543.com/debugger/class/python02/人臉辨識與物體辨識/pi4_packages.zip (opencv) ~$ unzip pi4_packages.zip (opencv) ~$ cd pi4_packages (opencv) ~$ pip install numpy-1.21.1-cp39-cp39-linux_armv7l.whl (opencv) ~$ pip install matplotlib-3.9.4-cp39-cp39-linux_armv7l.whl (opencv) ~$ pip install imutils-0.5.4-py3-none-any.whl (opencv) ~$ pip install opencv_contrib_python-4.5.1.48-cp39-cp39-linux_armv7l.whl (opencv) ~$ pip install opencv_python-4.5.1.48-cp39-cp39-linux_armv7l.whl ### Lab3-33 ### (opencv) ~$ python >>> import cv2 >>> cv2.__version__ >>> exit() ### Lab3-33 ### (opencv) ~$ wget http://max543.com/debugger/class/python02/人臉辨識與物體辨識/code/ch1.zip (opencv) ~$ unzip ch1.zip (opencv) ~$ cd ~/ch1 (opencv) ~/ch1$ python 1-7.py ### Lab3-34 ### # 步驟一:下載 YOLOv5 原始碼 (opencv) ~$ deactivate # 離開目前的虛擬環境 ~$ mkvirtualenv yolov5 -p python3 # 從虛擬環境 opencv,複製出一個虛擬環境 yolov5 (yolov5) ~$ cd ~ # 先切換至到家目錄 (yolov5) ~$ git clone https://github.com/ultralytics/yolov5 # 下載 YOLOv5 原始碼 (yolov5) ~$ cd yolov5 # 進入 YOLOv5 資料夾 ### Lab3-35 ### # 步驟二:手動安裝所需模組 (yolov5) ~/yolov5$ pip install ipython # 安裝 ipython 互動模式 (yolov5) ~/yolov5$ pip install matplotlib # 安裝 matplotlib (yolov5) ~/yolov5$ pip install numpy==1.26.0 # 安裝 numpy (yolov5) ~/yolov5$ pip install opencv-python==4.6.0.66 # 安裝 OpenCV (需降級) (yolov5) ~/yolov5$ pip install Pillow # 安裝 Pillow (yolov5) ~/yolov5$ pip install psutil # 安裝 psutil (yolov5) ~/yolov5$ pip install PyYAML # 安裝 PyYAML (yolov5) ~/yolov5$ pip install requests # 安裝 requests (yolov5) ~/yolov5$ pip install scipy # 安裝 scipy # 手動安裝下載的 torch 與 torchvision (yolov5) ~/yolov5$ wget https://github.com/KumaTea/pytorch-arm/releases/download/v1.8.1/torch-1.8.1-cp39-cp39-linux_armv7l.whl # 下載樹莓派 4B 專用的 torch (yolov5) ~/yolov5$ pip install torch-1.8.1-cp39-cp39-linux_armv7l.whl # 安裝 torch-1.8.1 (yolov5) ~/yolov5$ wget https://github.com/KumaTea/pytorch-arm/releases/download/v1.8.1/torchvision-0.9.1-cp39-cp39-linux_armv7l.whl # 下載樹莓派 4B 專用的 torchvision (yolov5) ~/yolov5$ pip install torchvision-0.9.1-cp39-cp39-linux_armv7l.whl # 安裝 torchvision-0.9.1 # 安裝 QT GUI 圖形介面的套件 ~$ sudo apt-get install libopenblas-dev # 繼續安裝剩餘的模組 (yolov5) ~/yolov5$ pip install ultralytics==8.0.232 # ultralytics (yolov5) ~/yolov5$ pip install thop # 安裝 thop (yolov5) ~/yolov5$ pip install tqdm # 安裝 tqdm (yolov5) ~/yolov5$ pip install tensorboard # 安裝 tensorboard (yolov5) ~/yolov5$ pip install pandas # 安裝 pandas (yolov5) ~/yolov5$ pip install seaborn # 安裝 seaborn ### Lab3-36 ### # 使用 YOLOv5 的指令稿進行攝影機偵測,第一台攝影機參數為 --source 0 (yolov5) ~/yolov5$ python detect.py --img-size 40 --iou-thres 0.3 --source 0 # 樹莓派可再使用 yolov5n.pt 降低辨識延遲 (yolov5) ~/yolov5$ python detect.py --img-size 40 --iou-thres 0.3 --weight yolov5n.pt --source 0 ### Lab3-37 ### # 在樹莓派裡直接下載 Chapter 2 的專案 (ch2.zip) (yolov5) ~/yolov5$ wget http://max543.com/debugger/class/python02/人臉辨識與物體辨識/code/ch2.zip (yolov5) ~/yolov5$ unzip ch2.zip && cd ~/ch2 (yolov5) ~/yolov5$ cd ./yolov5-master (yolov5) ~/yolov5$ python detect.py --weight runs/train/exp/weights/best.pt --img-size 40 --iou-thres 0.3 --source 0 (yolov5) ~/yolov5$ python detect.py --weight runs/train/exp/weights/best.pt --img-size 40 --iou-thres 0.3 --source https://www.youtube.com/watch?v=1EiC9bvVGnk